<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="zh" xml:lang="zh">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>任务: 定义项目组织和人员配备</title>
<meta content="Task" name="uma.type">
<meta content="define_project_organization_and_staffing" name="uma.name">
<meta content="定义项目组织和人员配备" name="uma.presentationName">
<meta content="Discipline:rup_project_management_discipline:项目管理" name="uma.category">
<meta name="element_type" content="activity">
<meta content="description" name="filetype">
<meta name="role" content="项目经理">
<link type="text/css" href="./../../css/default.css" rel="StyleSheet">
<script language="JavaScript" type="text/javascript" src="./../../scripts/ContentPageResource.js"></script><script language="JavaScript" type="text/javascript" src="./../../scripts/ContentPageSection.js"></script><script language="JavaScript" type="text/javascript" src="./../../scripts/ContentPageSubSection.js"></script><script language="JavaScript" type="text/javascript" src="./../../scripts/ContentPageToolbar.js"></script><script language="JavaScript" type="text/javascript" src="./../../scripts/contentPage.js"></script><script language="JavaScript" type="text/javascript">
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=[{view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_4U33kAILEdq-_NKqZM1EhA", "_qIh6UABuEdqrKcHWz1HoWw", "{EE97A8CD-66CA-4A9B-9871-E3B94CCED528}", "{8158A0C5-E4B3-4B9F-9DD6-0A32EB233B87}"]}, {view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_4U33kAILEdq-_NKqZM1EhA", "_nB0hwAITEdqu-LkyOdB8SQ", "_yeA1y9nmEdmO6L4XMImrsA", "{8158A0C5-E4B3-4B9F-9DD6-0A32EB233B87}"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_f6_YwN7DEdmsEI4YDGX2ag", "_qIh6UABuEdqrKcHWz1HoWw", "{EE97A8CD-66CA-4A9B-9871-E3B94CCED528}", "{8158A0C5-E4B3-4B9F-9DD6-0A32EB233B87}"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_kC0pcN7GEdm8G6yT7-Wdqw", "_yeA1y9nmEdmO6L4XMImrsA", "{8158A0C5-E4B3-4B9F-9DD6-0A32EB233B87}"]}];
					contentPage.preload(imgPath, backPath, nodeInfo, '', true, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="top">
<div id="page-guid" value="{8158A0C5-E4B3-4B9F-9DD6-0A32EB233B87}"></div>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap="true" class="pageTitle">任务：定义项目组织和人员配备</td><td width="100%">
<div id="contentPageToolbar" align="right"></div>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="pageTitleSeparator"><img height="1" title="" alt="" src="./../../images/shim.gif"></td>
</tr>
</table>
<div class="overview">
<table cellpadding="0" cellspacing="0" border="0" width="97%">
<tr>
<td width="50"><img title="" alt="" src="./../../images/task.gif"></td><td>
<table cellpadding="0" cellspacing="0" border="0" class="overviewTable">
<tr>
<td valign="top">此任务介绍了确定项目的人员配备需要，以及将如何组织项目人员。</td>
</tr>
<tr>
<td>规程：<a href="./../../core.base_rup/disciplines/rup_project_management_discipline_F303DA84.html" guid="_yeA1y9nmEdmO6L4XMImrsA">项目管理</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">用途</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr valign="top">
<td class="sectionTableSingleCell"><a id="Top" name="Top"></a> 
<ul>
    <li>
        定义项目的组织结构
    </li>
    <li>
        根据工时估计，按人数、类型和经验级别，为下次迭代（可信度高）以及为后续迭代（尽管可信度较低）定义人员配备需求，以允许对人员获取开始采取操作（如果这是一项风险）
    </li>
</ul></td>
</tr>
</table>
</div>
<div class="sectionHeading">关系</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr valign="top">
<th scope="row" class="sectionTableHeading">角色</th><td width="42%" class="sectionTableCell"><span class="sectionTableCellHeading">主执行者:
								</span>
<ul>
<li>
<a href="./../../core.base_rup/roles/rup_project_manager_363CE680.html" guid="{EE97A8CD-66CA-4A9B-9871-E3B94CCED528}">项目经理</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">其他执行者:
								</span></td>
</tr>
<tr valign="top">
<th scope="row" class="sectionTableHeading">输入</th><td width="42%" class="sectionTableCell"><span class="sectionTableCellHeading">必需:
								</span>
<ul>
<li>
<a href="./../../core.base_rup/workproducts/rup_risk_list_B87674CA.html" guid="{32D7C484-2FAF-4442-8DA0-6D474B91A9DD}">风险列表</a>
</li>
<li>
<a href="./../../core.base_rup/workproducts/rup_business_case_56F408EB.html" guid="{9B13F235-E8E9-4CDC-9ACE-216124C8C5EC}">业务案例</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">可选:
								</span>
<ul>
<li>
<a href="./../../core.base_rup/workproducts/rup_vision_2D6D6F1.html" guid="{417F089F-6636-451A-A8AB-AB4EAC7AC4F1}">远景</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th scope="row" class="sectionTableHeading">输出</th><td colspan="2" class="sectionTableCell">
<ul>
<li>
<a href="./../../core.base_rup/workproducts/rup_project_plan_D89CA030.html" guid="{D77D6716-B167-4643-A4B6-6F76C7769A80}">软件开发计划</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th scope="row" class="sectionTableHeading">流程使用情况</th><td class="sectionTableCell" colspan="2">
<ul>
<li>
<a href="./../../core.base_rup/capabilitypatterns/project_management_FC6669AF.html" guid="{EA0C1D32-E39A-4D96-B956-E178DB776A96}">项目管理</a>
									&nbsp;&gt;&nbsp;
								<a href="./../../core.base_rup/capabilitypatterns/plan_the_project_DD2EE35.html" guid="{823EF41B-2BD1-464B-84DB-C7BD432636E2}">规划项目</a>
									&nbsp;&gt;&nbsp;
								<a href="./../../core.base_rup/capabilitypatterns/define_project_organization_and_staffing_C1AB432B.html" guid="_5G2XgEofEdqrjq4i3fchvA">定义项目组织和人员配备</a>
</li>
<li>
<a href="./../../core.base_rup/capabilitypatterns/project_management_FC6669AF.html" guid="{EA0C1D32-E39A-4D96-B956-E178DB776A96}">项目管理</a>
									&nbsp;&gt;&nbsp;
								<a href="./../../core.base_rup/capabilitypatterns/Refine the Project Plan_DC25A642.html" guid="_Dt0jMBsuEdqXHNTdjKtnvA">优化开发计划</a>
									&nbsp;&gt;&nbsp;
								<a href="./../../core.base_rup/capabilitypatterns/define_project_organization_and_staffing_10CD8015.html" guid="_aYglcEogEdqrjq4i3fchvA">定义项目组织和人员配备</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">步骤</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr>
<td class="sectionTableSingleCell">
<div class="stepHeading"> 定义项目组织</div>
<div class="stepContent">
<table cellpadding="0" cellspacing="0" border="0" class="stepTable">
<tr valign="top">
<td><a id="Define Project Organization" name="Define Project Organization"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      cellspacing="0" bordercolordark="#808080" cellpadding="4" width="100%" bordercolorlight="#808080" border="1">
        <tbody>
            <tr>
                <td width="5%">
                    <b>目的</b>
                </td>
                <td width="95%">
                    按职位、团队、职责和等级定义项目的组织结构。&nbsp;
                </td>
            </tr>
        </tbody>
    </table><br />
</div>
<p>
    项目组织结构的选择取决于项目的特征以及外部约束，例如现有组织策略。所以，很难规定这样的结构，因为哪种结构有效（或者甚至只是可行）将在很大程度上取决于环境。要解决的问题在<img alt="" src="./../../images/no_rup.gif">&#160;<a class="elementLinkWithUserText" href="./../../pages_not_installed/pages_not_installed.html" guid="1.6567134597638413E-305">指南：软件开发计划</a>中有详细的讨论，其中还提供了缺省项目结构，可以根据项目的特殊需要对其进行相应调整。缺省结构还建议了（Rational Unified
    Process）角色到组织职位的映射。项目组织的形式和规模随阶段的不同而不同，将对软件开发计划（它是一份活动文档）进行更新以反映这些变化。
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> 确定人员配备需求</div>
<div class="stepContent">
<table cellpadding="0" cellspacing="0" border="0" class="stepTable">
<tr valign="top">
<td><a id="Define Staffing Requirements" name="Define Staffing Requirements"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      cellspacing="0" bordercolordark="#808080" cellpadding="4" width="100%" bordercolorlight="#808080" border="1">
        <tbody>
            <tr>
                <td width="5%">
                    <b>目的</b>
                </td>
                <td width="95%">
                    确定项目所需人员的人数、类型（技能、域）、经验和才能
                </td>
            </tr>
        </tbody>
    </table><br />
</div>
<p>
    根据项目的工时估计、期望的进度安排、选择的组织结构和角色的映射，项目经理确定项目需要的人员配备概要情况（随时间推移的人员数量和技能集）。项目的工时估计当然与团队规模、经验、技能和才干有关 －
    当估计工时时，项目经理很可能将对人员能力等作一些假设。在 <a href="http://sunset.usc.edu/research/COCOMOII/index.html" target="_blank">COCOMO
    估算模型</a>中（请参阅<a class="elementLinkWithUserText" href="./../../core.base_rup/tasks/plan_phases_and_iterations_2AB1A5C9.html#Estimate Project" guid="{43005DA9-D75E-464D-8AFC-AB9CACD92626}">任务：计划阶段和迭代</a>），人员能力和经验是决定工时的主要因素。所以，选择可接受的总工时（通过调整各个不同的 COCOMO
    工作驱动因素）和一个可行的进度安排将确定人员概要情况。
</p>
<p>
    在一些情况下，项目经理可能提前知道可用的人员人数和技能。在这些情况下，假设项目范围保持恒定，则人员规模和技能集也恒定，只有进度安排可变。
</p>
<p>
    项目经理还必须了解可能由于人员级别上升过快而造成的中断，以及尝试通过大幅度增加人员人数来过激地缩短进度安排，从而对生产率造成的潜在灾难性影响。
</p>
<h4>
    <a id="Inception and Elaboration" name="Inception and Elaboration">为先启和精化阶段配备人员</a>
</h4>
<p>
    在先启期间，着重定义范围并确定范围边界，并为项目开发业务案例。 因此，团队规模非常小：一名项目经理、一名软件设计人员、可能还有一到两名开发人员，尤其是需要原型的概念证明来阐明需求或为产品构造支持时。
</p>
<p>
    在精化期间，重点主要放在体系结构和体系结构原型。因此，在精化阶段早期，设计任务侧重于体系结构方面的问题；而很少关注类及其属性的细节，因为此时即使确定它们，在体系结构上也没有重要意义。在这些迭代期间，大多数工作源自您的体系结构团队和指定的原型团队。原型团队通常由较有经验的程序员组成。此时您有一个很小的设计团队，该团队将着重于一般机制和技术。测试团队将着重于构造测试环境和测试早期用例。
</p>
<p>
    必须仔细挑选体系结构团队的成员：他们不仅应具备出众的分析和设计技能，而且应具备领导能力。为了在构造阶段将体系结构传达给较大的团队，好的做法是将体系结构团队的成员分配到构造团队中。体系结构团队的成员还需要具备广泛的软件工程经验：软件设计和实施、性能调整、数据库管理、网络管理和配置管理，包括在体系结构团队中必须具有的主要技能集。
</p>
<h4>
    <a id="Construction" name="Construction">为构造阶段配备人员</a>
</h4>
<p>
    构造阶段着重于在将不断增长的功能构造到系统中的同时，保持系统的体系结构完整性。这就要求改进体系结构（这样，在精化阶段之后需要“建立体系结构的基线”而非“固定”体系结构），同时体系结构团队要留意设计人员及其设计内容。
</p>
<p>
    体系结构团队倾向于将他们自己分配到开发团队中，担当技术领导，并与其他技术领导协调组间事宜。构造团队本身必须是跨功能小组，同时具备设计和开发专长，因为他们同时负责分配给他们的功能的设计和实施。通常，构造团队负责一个或多个带有定义良好的接口的子系统；更改这些接口或者
    添加新的子系统会导致体系结构更改，需要慎重考虑。在子系统内，团队可以相对自由地设计和实施它认为合适的内容，但需要跨团队的通信来确保团队没有在同时构造相同的实施机制。
</p>
<p>
    通常，构造团队是沿着分层线水平组织的。一个团队可以负责数据库接口或者通信基础结构，而其他团队则着重于应用程序功能本身。因此“较高”层次的团队需要在如下方面具备更高的专业水准：问题域、用户接口设计或与外部系统对接。“较低”层次的团队则更熟悉实施技术。这些团队的组成必须反映这些不同的技能需要。
</p>
<h4>
    <a id="Testing" name="Testing">为测试任务配备人员</a>
</h4>
<p>
    测试中的第一个问题是需要进行多少正式测试？
    然后，您能负担多少工时以满足质量目标，而且该工时在成本和进度安排方面还要处于合理的限制范围内。项目的预算很少能执行所有种类的测试。通常，项目必须选择一个它们能承受的测试级别。记住，必须检查和维持每个测试规范。如果有计划要创建许多测试规范，但由于时间不够而无法实施这些计划，那么会对项目团队的士气产生非常不好的影响。
</p>
<p>
    创建特定的测试团队。测试团队中至少必须有一个人来自需求捕获团队。测试团队负责：
</p>
<ul>
    <li>
        <b>黑匣测试。</b> 根据用例的事件流，从系统外部测试用例（请参阅<a class="elementLinkWithUserText" href="./../../core.base_rup/workproducts/rup_usecase_A5D30E62.html" guid="{B1526BC5-E346-42CB-A08A-3C0D7F382407}">工作产品：用例</a>）。
    </li>
    <li>
        <b>白匣测试。</b> 在场景的序列视图基础上，测试用例中消息的实际发送。
    </li>
    <li>
        <b>系统测试。</b> 对系统施加压力来揭示其真实的性质。
    </li>
</ul>
<p>
    记住测试不仅仅是运行测试 － 它还要准备测试环境，撰写和检查测试规范。
</p>
<p>
    应由独立小组来测试用例和整个系统。他们还应执行测试并撰写测试报告。应对测试用例的工作进行组织，以便每一个 用例都有一个专人负责测试。
</p>
<p>
    如果不可能由独立小组来测试用例（例如小项目），您至少应确保负责用例设计的人员不测试该用例。
</p>
<p>
    应对中型和大型项目使用自动回归测试。测试团队将需要一些程序员支持此能力。在迭代开发中这甚至更重要，因为您不想花费大量的工作来一遍遍地重新运行相同的测试套件。
</p>
<h4>
    <a id="Transition" name="Transition">为移交阶段配备人员</a>
</h4>
<p>
    在移交阶段，完成开发工作。进行 Beta 测试，准备最终发行版。如果构造阶段的工作完成得不错，项目团队可以开始规模缩放，以减少开发人员和测试员的数量。团队的混合将转换为偏重培训师和基础结构物流专家，这些人负责将产品部署到用户团体中。
</p>
<p>
    软件设计人员或体系结构团队以“跟进方式”工作：他们要协助整理问题报告，确定各项变更提议的轻重缓急并调整其顺序，以确保不会在解决问题时只图一时方便而破坏体系结构。设计任务在移交阶段中会减少，并只限于更正问题，或提出最终的性能改进意见。
</p><br />
<br /></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<table cellpadding="0" cellspacing="0" border="0" class="copyright">
<tr>
<td class="copyright"><p>
    &copy; &nbsp;Copyright IBM Corp.&nbsp;1987, 2006. &nbsp;All Rights Reserved.
</p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script language="JavaScript" type="text/javascript">
				contentPage.onload();
			</script>
</html>
